// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/kpdus/jad.html
// Decompiler options: braces fieldsfirst space lnc
package com.google.gson.internal.bind;
import com.google.gson.Gson;
import com.google.gson.TypeAdapter;
import com.google.gson.TypeAdapterFactory;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonToken;
import com.google.gson.stream.JsonWriter;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.List;
// Referenced classes of package com.google.gson.internal.bind:
// a, m
public final class ArrayTypeAdapter extends TypeAdapter
{
public static final TypeAdapterFactory FACTORY = new a();
private final Class a;
private final TypeAdapter b;
public ArrayTypeAdapter(Gson gson, TypeAdapter typeadapter, Class class1)
{
b = new m(gson, typeadapter, class1);
a = class1;
}
public Object read(JsonReader jsonreader)
{
if (jsonreader.peek() == JsonToken.NULL)
{
jsonreader.nextNull();
return null;
}
ArrayList arraylist = new ArrayList();
jsonreader.beginArray();
for (; jsonreader.hasNext(); arraylist.add(b.read(jsonreader))) { }
jsonreader.endArray();
Object obj = Array.newInstance(a, arraylist.size());
for (int i = 0; i < arraylist.size(); i++)
{
Array.set(obj, i, arraylist.get(i));
}
return obj;
}
public void write(JsonWriter jsonwriter, Object obj)
{
if (obj == null)
{
jsonwriter.nullValue();
return;
}
jsonwriter.beginArray();
int i = 0;
for (int j = Array.getLength(obj); i < j; i++)
{
Object obj1 = Array.get(obj, i);
b.write(jsonwriter, obj1);
}
jsonwriter.endArray();
}
}